Цель:
В результате выполнения ДЗ вы научитесь работать с гитом.


Описание/Пошаговая инструкция выполнения домашнего задания:
Необходимо написать к каким системам по CAP теореме относятся перечисленные БД и почему:
MongoDB, MSSQL, Cassandra.
ДЗ сдается ссылкой на гит, где расположен миниотчет в маркдауне.



Теория CAP (Consistency, Availability, Partition Tolerance) описывает основные характеристики распределенных систем и их способность обеспечивать три ключевых аспекта: согласованность (Consistency), доступность (Availability) и устойчивость к разделению (Partition Tolerance).

1. MongoDB
 - MongoDB обеспечивает strong consistency, потому что это система с одним Master узлом, и все записи идут по умолчанию в него.
 https://www.mongodb.com/docs/manual/reference/write-concern/ - стоит использовать флаг majority для гарантии согласованности.
 MongoDB остается строго согласованным только до тех пор, пока все операции чтения направляются к основному(primary) элементу.
 - Автоматическая смена мастера, в случае отделения его от остальных узлов.
 - В случае разделения сети, система прекратит принимать записи до тех пор, пока не убедится, что может безопасно завершить их.


Таким образом, система может продолжать работу в случае разделения сети, но теряется CAP-availability всех узлов. Это CP-система.

2. MSSQL
 - Согласованность (Consistency): MSSQL обычно предоставляет строгую согласованность и старается обеспечить целостность данных.
 - Доступность (Availability): MSSQL может обеспечивать высокую доступность с помощью функций, таких как Always On Availability Groups.
 - Устойчивость к разделению (Partition Tolerance): MSSQL обычно не рассматривается как система, которая идеально устойчива к разделению, но при настройке в кластере она может быть устойчивой к разделению в некоторой степени.
Соответственно MSSQL стоит рассматривать как CA-система

3. Cassandra
Cassandra использует схему репликации master-master, что фактически означает AP-систему, в которой разделение сети приводит к самодостаточному функционированию всех узлов.
Но если настроить ее на чтение или запись на основе кворума, то она не останется доступной(A) для CAP и будет являеться только P системой.